#ifndef REGISTERDIALOG_H
#define REGISTERDIALOG_H

#include "slidingverificationdialog.h"
#include <QDialog>
#include <QTimer>
#include "global.h"
#include "verifycode.h"


namespace Ui {
class RegisterDialog;
}

class RegisterDialog : public QDialog
{
    Q_OBJECT

public:
    explicit RegisterDialog(QWidget *parent = nullptr);
    ~RegisterDialog();
private slots:
    void slot_checkbox_state_changed(int state);
    void slot_checkbox_clicked();
    void on_radioButton_clicked(bool checked);
    void slot_permit();//自定义槽，当用户等待30s后触发，允许用户再次进入验证码界面
    void slot_slidingverificaton(bool result);//响应滑动窗口信号
    void slot_reg_mod_finish(ReqId id, QByteArray res, ErrorCodes err);//响应http请求
    void on_register_btn_clicked();

private:
    Ui::RegisterDialog *ui;
    SlidingVerificationDialog * _veri_dlg;//验证码对话框
    QPushButton *verificatioon_code;//验证码按钮
    int open_slidver_count=0;//打开验证码的次数
    QTimer *timer;//当验证码验证错误达到一定次数时启动，让用户等待30s后才可继续打开滑动验证窗口
    int num_time=30;//等待时间，30s

    VerifyCode *verifyCode;//验证码类，储存服务器发送来的验证码

};

#endif // REGISTERDIALOG_H
